Fix xc_ptrace for paravirtualized guests.
Signed-off-by: Kip Macy <kmacy@fsmware.com>
}
if ((pde = cr3_virt[cpu][vtopdi(va)]) == 0) /* logical address */
goto error_out;
- pde = page_array[pde >> PAGE_SHIFT] << PAGE_SHIFT;
+ if (ctxt[cpu].flags & VGCF_VMX_GUEST)
+ pde = page_array[pde >> PAGE_SHIFT] << PAGE_SHIFT;
if (pde != pde_phys[cpu])
{
pde_phys[cpu] = pde;
}
if ((page = pde_virt[cpu][vtopti(va)]) == 0) /* logical address */
goto error_out;
- page = page_array[page >> PAGE_SHIFT] << PAGE_SHIFT;
+ if (ctxt[cpu].flags & VGCF_VMX_GUEST)
+ page = page_array[page >> PAGE_SHIFT] << PAGE_SHIFT;
if (page != page_phys[cpu] || perm != prev_perm[cpu])
{
page_phys[cpu] = page;